# ==============================================================================
# Coverage Configuration (.coveragerc)
#
# Tool: Coverage.py / pytest-cov (https://coverage.readthedocs.io/)
# Purpose: Code coverage measurement and reporting tool for Python tests.
# Why it's in Zenith: Automatically invoked by the test runner to track branch
# coverage, exclude boilerplate lines (typing guards, repr, abstract methods), and
# enforce mandatory 100% test coverage before code can be accepted.
# ==============================================================================

[run]
branch = true
# core = sysmon
patch =
    subprocess
    _exit
source =
    src/{{ cookiecutter.package_name }}
    tests
omit =
    */__snapshots__/*
    */site-packages/*

[report]
show_missing = true
skip_covered = false
skip_empty = true
fail_under = 100
exclude_also =
    pragma: no cover
    def __repr__
    if self\.debug:
    raise AssertionError
    raise NotImplementedError
    return NotImplemented\b
    if 0:
    if __name__ == .__main__.:
    if TYPE_CHECKING:
    class .*\bProtocol\):
    @(abc\.)?abstractmethod
    @overload
    @(typing\.)?overload
    (typing\.)?assert_never
    \.\.\.

[html]
directory = htmlcov

[xml]
output = coverage.xml
